package com.fh.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fh.common.web.AbstractService;
import com.fh.modules.ucas.entity.SysUser;

import java.util.List;

/**
 * @author Qiu,Junda
 * @date 2019年4月3日
 * @description 用户表 服务类
 */
public interface ISysUserService extends AbstractService<SysUser> {
	
	/**
	 * @author Qiu,Junda
	 * @date 2019年5月24日
	 * @description 根据账号获取用户
	 * @param username
	 * @return
	 */
	public SysUser getUserByName(String username);
	
	
	/**
	 * 添加用户和用户角色关系
	 * @param user
	 * @param roles
	 */
	public void addUserWithRole(SysUser user, String roles);


	/**
	 * 修改用户和用户角色关系
	 * @param user
	 * @param roles
	 */
	public void editUserWithRole(SysUser user, String roles);

	/**
	 * 冻结解冻用户
	 * @author Qiu,Junda
	 * @date 2019年5月16日
	 * @description
	 * @param status 2 冻结，1正常
	 */
	public void frozenBatch(String userId, int status);
	
	/**
	 * @author Qiu,Junda
	 * @date 2019年4月27日
	 * @description 根据用户id删除用户
	 * @param userId
	 */
	public void deleteUserById(String userId);

	/**
	 * 获取用户的授权角色
	 * @return
	 */
	public List<String> getRole(String userId);
	
	/**
	 *  判断用户是否是管理员角色
	 * @author Qiu,Junda
	 * @date 2019年5月10日
	 * @param userId 用户id
	 * @return  
	 */
	public boolean isAdminRole(String userId);
	

	/**
	 * 根据部门Id查询
	 * @param
	 * @return
	 */
	public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username);


}
